iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
0
Security

點錯遊戲的我也只好硬著頭皮上了 系列 第 24

[網頁漏洞] Javascript - 修正圖檔

  • 分享至 

  • xImage
  •  

13. Java Script Kiddie

The image link appears broken... https://2019shell1.picoctf.com/problem/57738 or http://2019shell1.picoctf.com:57738
以下這個網址的圖片連結看起來好像有問題...: https://2019shell1.picoctf.com/problem/57738 或是 http://2019shell1.picoctf.com:57738
https://ithelp.ithome.com.tw/upload/images/20201008/201036888H6dHsM7HM.png

HINT:

This is only a JavaScript problem.

WRITEUP:

網頁只有一個欄位可以填入值,先打開開發者工具查看資訊。Network 傳回了兩個值得看的頁面,一個是根目錄下的 javascript 值,看起來是在重組png圖像的資料起來
https://ithelp.ithome.com.tw/upload/images/20201008/20103688isQCxF9iG4.png

另一個是 bytes,想必就是圖的資料
https://ithelp.ithome.com.tw/upload/images/20201008/20103688Zt9QHZVjQl.png

如果什麼都不輸入的話,果然會得到一張壞掉的圖
https://ithelp.ithome.com.tw/upload/images/20201008/20103688L6cRkpqLoP.png

目前還想不到解法,按照 HINT 提示是 javascrpt 的問題,那麼推測可能是語法上的問題,也許用的到 ##04. where are the robots 先學到的即時修改 javascript 的技巧...

思考可能的解題方向


經過一陣子尋找 javascript 語法的可能錯誤後,決定改個方向,朝圖檔重組前進。
改以 google “verify png file” 可以發現檔案都會有一個特定的結構(magic header),因此再 gogole “png magic header” 的話就可以得知 png 的固定格式,開頭為

89 50 4E 47 0D 0A 1A 0A

將 bytes 內容輸出轉為 hex 並使用 excel 整理後現在可以部份解碼

0438892200000000

後面還是有 8 碼未知,從網路上隨便找一個 PNG,打開觀察:

https://ithelp.ithome.com.tw/upload/images/20201014/20103688pv9pU5bQzm.png
索性後8碼也比對一樣的數值

00 00 00 0D 49 48 44 52

https://ithelp.ithome.com.tw/upload/images/20201014/20103688S8CGjwYjHl.png

得到符合的換位數字 0438892208991464,再從網頁輸入後居然成功了
https://ithelp.ithome.com.tw/upload/images/20201014/20103688aP7keGWgyA.png

說是 javascript 的問題,但實際解題時使用方便的 python (@google colab)與 excel 。即時修改 javascript 的功能也只是 alert 變數而已 XD

ANSWER:

picoCTF{905765bf9ae368ad98261c10914d894e}


上一篇
[網頁漏洞] JWT - 神秘的權杖
下一篇
[網頁漏洞] 資料庫漏洞 - 特殊口味的綿花糖
系列文
點錯遊戲的我也只好硬著頭皮上了 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言